A: Children can display a variety of behaviors when they are excited, some of which are upsetting (and sometimes embarrassing) to their parents. Being able to tell him to stop and having him actually stop separates what he is doing as a likely normal 3-year-old from abnormal (and possibly autistic) behavior. At 3, you should also be able to talk to him about what he is doing; even if he is unable to tell you why he does it, you may be able to talk him through alternative ways of showing his excitement in what is happening around him.
At home, practice the kinds of responses you would like him to have in public when he is excited and praise him when he stops flapping, humming, and grinding. With time (6-9 months) these behaviors should disappear, but if they do not or you see new behaviors that concern you or do not stop when you ask him to. I would recommend getting a re-evaluation (possibly by a developmental pediatrician) before he turns 4-years-old.