Well, there's the emulator included in the Android SDK, which always has the latest version of Android available, but might not be quite as optimised as other solutions for games, seeing as it is designed for testing apps quickly without deploying to hardware every time, not really designed for games.
But it's too slow.
Something like BlueStacks is specifically designed for playing Android games on a PC (at least, according to the marketing material I have seen). Presumably "Genymotion" is in a similar vein, although I haven't heard of or used it before. (I have used BlueStacks briefly, it seemed OK, although based on old Android so not all games will work probably).
Geny is designed for app testing.
Another alternative is to download a build of Android x86 (the x86 port of Android) and run it in a virtual machine (e.g. VirtualBox, VMWare Player).
Exactly what Geny does.
The downside of that is I'm guessing that
probably wouldn't work for native code (which would be compiled for ARM, not x86), which many games use heavily. Any pure Java apps/games should work though, and I think I've read that performance is a bit better than the SDK emulator.
A whole lot better. Though it won't run audio mods.