Next time he messes in his pull-ups hand him a box of wipes and a plactic bag. Put him in the tub and tell him to clean himself up.
Explain very calmly that it is very disgusting to have to clean up poopies on another person. That you will not clean him up anymore. He is not a baby and should be going on the toilet. Tell him he's too big to be going in a diaper and pullups are diapers. Anything you where to go potty in are diapers. So he's not a big boy as long as he wears them. And if he wants to keep acting like a baby then you will have no part of it. He will have to be a baby by himself and will have to clean himself up all by himself. Then walk out of the bathroom.
Whatever the fit tell him if he wears diapers then you won't have anything to do with it. If he wants your help, then he will need to go on the toilet and then you will help him with that...but that's that.
It worked for me when I was watching my neighbors daughter. I always trained my kids and my regular babysitting kids before 2 1/2, but I started watching my neighbor's daughter when she was three.
The first time she came over I told her that she would have to wear panties and go on the potty because I didn't clean up big kid poopies. I cleaned enough baby butts and wouldn't be cleaning big kid bottoms. So I went to get her some panties and when I got back the little smarty looked at me and said, "I don't need panties I already went poop in my pull-up." So I took her in the bathroom, handed her a bag, a box of pull-ups and told her to clean herself up. She looked at me with this grin and said, "Noooooooo, that's gross." I said, "yep, you're right. It is gross and I'm not doing it." So I took her pull-up off and put a wipe in her hand and guided her hand to clean her own bottom. I should have standed her in front of a mirror and showed her the mess on her bottom and explained that it makes that huge mess when you go in a pull-up and if you go in the toilet it doesn't do that.
Anyway, I kept telling her how gross it was to poop in a diaper (I always call them diapers not pull-ups...kids get it in their head that they are big now because they aren't wearing the old kind of diapers...I let them know real quick it isn't a big kid pant...it is a diaper...they are not big.) I told her that as long as she went in her diaper, she was not a big girl. She was a big baby, but not a big girl. I calmly explained I don't clean big baby bottoms. She was pretty grossed out by all of it. When we were done I put the panties on her and I told her that if she went in the toilet there wouldn't be that big mess and she could wipe her bottom very easily and it wouldn't be so messy.
She had two pee pee accidents that day because she wasn't finishing when she went, but she was trained from there on out.
We made a huge deal out of her going on the potty and wearing big girl panties. I told her NOW she was big.
Now she was a little apprehensive about going poop on the potty, but I realized she had to go the second day and I made her sit on the potty. She cried and screamed a little, but I put my arms around her and kept telling her in her ear that it would be fine and she was okay. Finally she went poop and we cheared and jumped up and down. I wiped her tears and told her, "see it didn't hurt and look it wasn't all messy."
I never had any problems out of her after that.
Now the little girl I trained at 19 months starting holding her poopies so she wouldn't have to go on the potty. She knew that her mom would put a diaper on her when she went to bed and she would just poop in that at night.
So I fed her flax seed in yogurt and a handful of shredded mini wheats first thing in the morning for two days until she had to go...she couldn't hold it. I held her on the potty, put my arms around her and told her in her ear that she would be fine. She cried the first two days, but she was fine after that and I never had any problems out of her after that.
You won't traumatize him by making him do what he should. Do we let our children throw rocks? Are they traumatized when we take the rock away? No. Do they throw a fit when we tell them don't jump on the furniture, don't run in the street, don't throw your food on the floor, share your toys.....Yep!!! But we make them do it anyway.
Me personally I would just tell him that he's too big to wear diapers and I won't clean him anymore. I would make him wear underwear period. If he has a few accidents, I wouldn't make a big deal out of it and just calmly tell him that we have a few accidents when we are first learning. But then after a day or two I would insist that he go on the potty. If he's as smart as you say, he will realize that his lazy days are over and he will go on the potty.
If you want to keep putting him in pull-ups then explain that they are just glorified diapers and you will no longer clean his bottom...big babies have to clean themselves. I'm suspecting that after the first time, he will change his mind about the underwear.