H.W.
You mention that your son is overwhelmed by bodies of water larger than a bathtub. I'd relax on the swim lessons (b/c he's still young) and just give him opportunities to feel comfortable in the water first. Some community centers have zero-entry water parks, like Mount Scott. These are optimal for letting little ones explore at their own pace because they can wade in first. The experience is more gradual and invites the child to relax and play. I recently observed a group of 4 year olds receiving swim lessons there and noticed how adept the teachers were at getting the kids to put their faces in the water,etc.
My son, btw, has similar feelings about water as your son. He's pretty reticent to get into anything much bigger than a wading pool--even public fountains feel too much for him. We've discovered that he's more of an observing child, and so we let him just go and watch, then get in when he's ready. We tried the pool despite his protests when he was two and it was nearly a year before he'd even take a bath in the tub. (Thank goodness our sink was big enough.) So take it slow, respect his cues, and remember that there's plenty of time. Older, he'll enjoy the play and teen instructors even more, too.