Man accused of punching 10-year-old at Whole Foods