T.F.
My first born was the same way. He would only eat mac-n-cheese, grilled cheese, hot dogs, chicken nuggets, and grapes for a really long time. When he was around 8, the whole family had a 24 hour stomach virus-- his lasted a week because the doctor said his body didn't have the "reserves" from healthy foods to kick the virus. Since then, he gets it that he needs to eat healthier. I know it's different because your son is 3, but I'm telling you this as a cautionary tale to make sure you do whatever you can to get healthy FOODS (not just vitamin suppliments) into his little growing body. You have to get creative... Think of things this way--- try something you know is healthy and put it on his plate-- just a small amount. Don't force him to eat it but encourage and maybe even bribe him to take just one bite... Let's say scrambled eggs, for example, Then if he won't eat it, try the same food in a different form-- like you can dip the uncooked scrambled egg with bread and now you have french toast! Put syrup on it and he thinks it's a sweet treat but you know it's a sneaky way to get an egg into him!! My 2 year old eats french toast several times a week and if he eats nothing else that day but a cookie and juice at least I feel good about getting that egg into him-- and I use whole wheat bread so he gets that, too! A few bites of banana and it's a good day! Also, the juice I give him is the "Healthy Kids" version of orange juice, which is packed with extra vitamins (read the label compared to other OJ), so even watered down he gets a bit of something other than sugar from his juice.