I am a firm believer that enrolling children in team sports can be a great way to get them to engage in physical activity while also instilling them with confidence that then leads to improved self-esteem.
Think something like basketball. There are, of course, the physical aspects of running, jumping, and repeated arm workout from shooting the ball. But there is also the confidence/self-esteem aspect. On an individual level, you can boost your own confidence when you shoot and see the ball go through the hoop over and over. Add in success over defenders who are trying to stop this from happening and that's even more self-confidence. On a team level, the child can score, help a teammate score, or stop the other team from scoring; all of these things help the child gain trust from their teammates as they compete to achieve a common goal -- a victory. Helping contribute to a team goal and earning their peers' confidence in their abilities can lead to improved personal self-esteem. This is an example I've personally experienced. Just something as simple as my teammate saying "he can't guard you!" when I score on the opponent makes me feel like I can do it tenfold. And after-all that's all self-esteem is: belief in one's self in both worth and ability.