How to motivate my son

My son is in high school and he has the ability to make straight A's. Every single one of his teachers have said that. He's so smart and every time he does hlan assignment he gets an A on him. The problem is his motivation. His grades are usually B's and C's with maybe one A in there and what holds his grades down is the work he didn't do. He hates math. He knows how to do it but hates it. He enjoys English. And always get A's on his essays. The problem is he hates doing the more tedious stuff like making an annotated bibliography etc. He does really good in History. Always get an A there. And he also gets an A in orchestra. He plays the Cello. But his other 5 courses he pulls C's and B's in for missing work. I understand there's nothing wrong with a C. My thing is he CAN do better. He has really bad ADHD so finding the motivation to do something he doesn't like isn't easy for him. He also turns in a lot of late work. He's a good Kid. Everyone says that. I just wish I could motivate him to do better because he could have a 4.0 GPA if he just did the work. Problem is if you push him too hard he shuts down completely. If I were to punish him for a C he would just shut down and not do anything and majority of his grades will fall. Any advice?