Well, I did tried make a hostile water mob like like as shark or piranha and I'd can't. There is a few serious problems with that.
First off and most important is its movements: I can't make this mob to swimming in that way as water mobs should does. If I set in custom AI "swim when in water" then mob does swim on surface of water like a zombie or any land mob that will fall into water. If I don't set "swim when in water" then that mob does fall down to bottom.
I did set on "is water entity" and tried set "monster" and "WaterCreature"(and other ways) and this doesn't work.
I think, that water mob's movement should be like a Guardian mob, or exactly this mob should swim like a FISH, not as Zombie or player.
And if such that mob is set as monster, then be a good if he does spawn in darker regions underwater.
I wanted to create a mob like as piranha that does swim ably as Guardian mob and does chase player then does melee atack(bite) him. Maybe this mob will explode too, when player be in boat.
Anyway I think that something as custom AI block like a "swim like fish when underwater" will be good solution. That AI block can be used instead of "Swim when in water" block.