It mostly depends on you budget. A few posts above you can see benchmark performance of several cards.
The M4000M is currently the best value/performance card, easily found and at around €100 it offers good performance even on a lot of modern games. The P3000 is roughly twice the price and ~40% performance boost, I've used it to play Witcher 3 in high settings and looked great at 45 to 60 fps.
For the P4000 no overclocked vbios is available (I don't have one to test), so performance increase over the overclocked P3000 may not justify price difference.
I'm currently working on a GTX1070 iMac vbios which should score above 5000 on 3DMark Time Spy, but cost of the card is above €400, way more than you'd pay for the whole iMac 2011.
Also, take into account that Pascal cards need a hardware programmer (ch341a with 1.8v capability) to flash vbios, or a seller that will program it for you.
Guess I'll have to write an iMac 2011 windows gaming thread on it own
I almost bought a 1070 on ebay last night for under $400.00. I actually lost at the last second with a bid $365.00. I wasn't trying hard since there isn't a vbios at present out yet. Now I am kicking myself because they go for $500.00
I nixed the idea of just getting a m1 mini. I already have one for work. I don't think I want to explore parralells gaming. If the main usage is a gaming machine then I should be comparing sunk cost to a used pc plus video card for gaming.
Now I might drop the $500 for a 1070....