Hey,
I went to Fiji and Tong last year and loved both. Never been to the Cook islands so cant comment there.
Firstly, Tonga, we went around late August time, specifically for the humpback whale migration. Being able to get into the water with these magnificent animals is breathtaking and something I will never forget. It is snorkel only, unless you are already on a dive and a whale happens to come by. The diving is not really up to much, we did 2-3 dives one day but spent 3-4 days out snorkeling with the Whales. The days can be long if there are not many around that day, but most operators work together and to the rules to ensure that everyone gets to see them in the water. We used Beluga, they were outstanding and went above and beyond to get us the best experience.
Getting to Tonga from NZ is straight forward with direct flights to the capital and then a short domestic flight to the chain of islands called Vav'au where the whales hang out for the birthing season. There is one other Tongan chain of islands the whales visit where I believe you can also snorkel with them.
Accommodation in Va'vau is limited and not really to international standard, however we stayed at a really beautiful place called Mystic Sands, private bungalow, private beach with self catering option too. Highly recommend.
Fiji is far more established for tourism and the diving is far superior to Tonga. We dived the Rainbow reef from Taveuni Island and can honestly they were the best 6-8 dives I have ever done. So much soft coral, reef fish and critters, it really does justify its name. Colour everywhere.
We also did the shark dives at pacific harbor, great experience but not something i necessarily would rush to do again.
We enjoyed the diving in Fiji so much we have booked to return on a 10 day LOB next January which should give us a far wider experience of Fiji diving with sharks, corals, mantas etc
If you have any more questions I would be happy to help, either here or PM me.