The problem is you're not just heating the 3, 7, 10, or however many gallons it might be. You're maintaining a flow at a desired temperature. Depending on the flow rate and temperature differential, you need a certain number of BTUs, which translates into a certain number of kVA, kwH, etc., which determines the size of the WH. There are a couple of guys here who can do these calculations off the top of their head, but they'll need more data than we have so far. The odds are your contractor has already done these calculations (ask him to explain) and determined the 30gal WH is appropriate.