As long as he is healthy and active and has some color in his cheeks, I wouldn't worry. My younger daughter is tiny for her age, and my husband and I both are (way) taller than average. We put that poor child through every test you can imagine, and it turns out she's just genetically smaller than average. Nothing wrong with her at all. So, try not to worry. Some children are bigger than average, and some are smaller. That's why it's called an average.
That being said, I would not try to feed him more fattening foods, or cram him full of food, or teach him to eat when he's not hungry. He may be blessed with a fast metabolism now, but that may not always be the case, and the habits he forms now will last his whole life. Feed him several small meals a day, but do not cajole, bribe or otherwise try to get him to eat more than he wants to eat. I would not, under any circumstances, make several different things and then let him decide what he will and won't eat. That's a slippery slope, mama, and three years from now you'll have a kid who will only eat mac-n-cheese. Just feed him normal, healthy food, and let him decide how much he's going to eat. He will be absolutely fine! You're doing great!