Swimming on the water's surface

When you get to the surface and aren’t moving you’re treading. Once you apply movement you go into a swimming animation. Basically toggling blend spaces.

Oh and under character movement: swimming, there should be a buoyancy setting. You can adjust this at runtime. So when the character reaches the surface (collision end overlap) you can increase buoyancy. If they input dive, decrease, then apply movement. etc & so forth.