I struggled recently getting AWS Gateway to implement query string caching. Here is the order of the steps you need to take:
In the API Gateway console, under Resources, navigate to your API method and method. In Method Request, add a new URL Query String parameter checking Required and Caching. Deploy the API (because you always forget!) Under Stages, on the Settings tab, click the Enable API cache API.