Advice please? 4 year old

Hi guys, so my son is 4. & he is so tiny... he has these very strange picky habits. He won’t eat food if it looks nasty, he won’t eat food if it smells weird, he won’t eat food if it touches, etc. I have to force him to eat all the time. I have to sit and watch him to make sure he eats. & he hates it. A lot of time I have to give him the pediasure shakes... I just don’t understand why he is like this. He also is like this with bathrooms, toys etc.. i have to clean the toilet before he uses it to go potty, and I’m talking pee... same with the tub before bath time.. etc. he’s very particular, and I’m fine with that and all. But I’m worried something might be wrong?

Also, he has strange mood swings. He will be playing with his cousin, and get so angry and fuss.. & then he snaps out of it in 2 mins and he’s happy smiling and laughing... it’s just all so strange. His doctor says she doesn’t want to diagnose him with anything this early, but I’m not blind, my child definitely has some strange ways. He also has a speech problem, but he’s extremely smart, he taught himself to read.. he can read anything you give him just by looking at it.. which is a wonderful thing, but also makes me wonder.. I’m just concerned.

Any thoughts?