Itmay be a good idea to take a step back and let him eat by himself instead of watching what he eats , have you thought you may be too worried , and he knows this. I suggest you allow him more control over his eating, let him give you ideas for food he would like, maybe dont have a 'constant battle' or be constantly worried' your words ,about his health. A lot of 'nagging for him to finish his meal" it sounds like a punishment so make meals more pleasant , let him eat as slowly if he wants , many parents are always rushing children to eat and kids do not respond too well to it especially in the morning at break fast, get up earlier and let him take his time...good luck I know you have his interests at heart, take a step back ,walk in his shoes.
It's possible he may have something that prevents him from being able to consume lots of food. There may be something in his system that allows him to eat lots of fruit and therefore benefits him and is used by his body systems in the correct way.
On the other hand, there may be things in other foods that maybe dont react as well and make him feel full when he eats them. It might be worth taking him to get a blood test, to see what his levels are i.e blood sugar (hence, him having no energy), cholesterol etc. He may have a deficiency and therefore you'll be able to address it with the correct foods. All the best :)