I have told my daughter that when an adult asks, "What grade are you in?" it's really a more polite way of asking "How old are you?" In her case, it was to explain that this question really doesn't require, "I'm in 5th grade in the GESP program, so I'm doing 6th grade work," as an answer - just "5th grade" is fine, unless they are actually talking about school. If the question is asked in response to her talking about a school project or something, then she can explain, but otherwise, she doesn't need to.

In the case of your six-year-old, you can ask him to do it like this:
Adult: What grade are you in?
Child: 2nd grade, but I'm six.
Adult: Wow, really? Why are you so young for your grade?
Child: I dunno, my parents thought it was a good idea. We have a pet frog in my classroom! (or any subject change he wants, really)

He answers the part the adult actually was probably asking, deflects the nosy question to you, and changes the subject. If the adult drops him and starts asking you about it, you can either talk about acceleration, or glance meaningfully at your son and pointedly change the subject.