Without serious modification, the GPi has no externally-accessible USB data port; thus, you can't easily use a wired USB controller.
For this reason, I recommend a Bluetooth controller -- however, this assumes that you're using the bluetooth-enabled Raspberry Pi Zero W, not the "normal" Pi Zero. The normal Zero does not support bluetooth.
Choosing a Wireless Bluetooth controller
For wireless controllers, I recommend the 8BitDo SF30. It contains a ton of buttons, has a long battery life, undetectable input lag, and is super affordable.
For a complete analysis of available RetroPie controllers and how to use them, see my RetroPie controller guide!
Connecting a Bluetooth controller
After updating your controller's firmware, you can access Bluetooth device config in RetroPie Setup. I wrote a complete guide on adding Bluetooth controllers in RetroPie. Use that guide for step-by-step instructions on setting up your GPi Bluetooth controller.
The Retroflag GPi Case looks very similar to the original Game Boy, but it definitely doesn't play like one. The case features a 320px x 240px full-color display and requires a Raspberry Pi Zero.