My son has a big appetite for other reasons. He's on seizure meds and they really made him gain at first. This was a good thing since he was underweight before and the first med I had him on had the opposite effect.
If he had his way, he'd go for spaghetti every meal.
I've had to learn not to do battle over food, but let HIM help prepare the meal, put the healthy choices in front of him, then back off... I shoot for 90-10% healthy to "treat", although some days it's 100% healthy, and some days I'm lucky to get 50-50!!
Sneaky substitutions like 1% milk for whole, 90% lean hamburger for the 80%, chicken breasts rolled in chopped nuts and baked instead of his beloved deep-fried, breaded chicken strips...oh, and the best trick I've found yet! He loves chinese food. If I served him a bowl of plain broccoli, I'd get "the look". If I serve it as part of a mixture with chicken and snap peas, and call it "Chinese Food like at the mall" he's all over it. <shrug> I'm not above trickery to get my way.
Next mission....slipping no-sugar-added frozen yogurt in for ice cream. I'm starting with the chocolate flavor, since I'm thinking he won't CARE as long as it's chocolate!
As for the school things and parties, I don't sweat it if he's getting good stuff most of the time.
So far, his weight is coming into line with his height. He's had some major surgery, which meant he lost a lot of weight and a lot of muscle. He tends to overcompensate and get "chunky" for a while, but I think it's getting back to normal.