Duplicated fish layer, selected around fish and used gradient tool to turn him into a rainbow, reduced opacity of rainbow layer, merged the two layers, opened actual rainbow as a layer, masked out fish area, applied mask, messed with levels, flattened.