I am looking to make water that refracts light and the floor underneath it. I think there’s really two components… the refraction of the light on the floor and the refraction of the floor from the top view
The bottom picture shows caustics pattern. Unfortunately Cycles is at this point completely unable to handle this due to the way calculations are done internally. The free renderer LuxCore can handle caustics much better, and if possible I would try to bake out the caustics pattern onto a texture there to be used in Cycles. Haven’t done it myself so I don’t know what baking options are available, if at all.
I consider that in 90% of cases no accuracy is needed but speed, getting a baked caustics texture is a much better choice in that case.
However you will have to check how to use light projectors.
Note that you might even be able to generate a caustics texture in After Effects (or anywhere else you can) and use it as an animated texture in Cycles.