You mention that your dog's food is left out all day and he grazes.
It's generally recommended that you just have set meal times (I feed morning and evening, but some people like feeding only once per day), leave the food down for ten minutes and if it's not eaten, lift the bowl and don't put anything out, other than the fresh water dish, till next meal time. It stops some dogs from pfaffing about - they get hungry, know it's a long time till the next meal, and get on with "regularising" their eating.
Let us know which food you settle on. Main things: good quality ingredients (and the main good ones have been listed in this thread) which your dog thrives on.
Good luck.
Denise