What I would do is set those 3 jumps far enough ahead of one another so that you can come into the first one, and halt before the second one. Pick up trot, trot the second, then halt before the third one. It might not be pretty, but you have to get the job done so your horse believes in your request. Once it gets to not be such a struggle, you can trot in, maintain trot, and trot the entire thing. If he goes to canter and you ask for him to trot and he doesn't, halt him. Sit back,and halt him. Repeat until he can maintain a trot through the 3 jumps. Next you'd canter in, trot the second, canter out. Keep mixing it up.
Anyttime you feel like you'd want to slow down but he doesn't, slow to the next gait. It's more extreme than just slowing within the gait, sometimes you have to break the gait to get the response you're looking for. Soon enough he will learn that surging off on his own agenda isn't the plan and he will wait for you. :)
When you are doing the exersize of trotting the 1st, halt, trotting the 2nd, halt, turn him left and do not jump the 3rd. Take away the poles from the jump, and intentionally turn him left and forget about the 3rd jump. Do that until you do not feel him want to shift right from underneath you. From there you can start to add in the 3rd jump, but jump it on the left side. Have a plan, and committ to it. Know you can make it look pretty later. :)
In riding, a horse's energy is like a river- guided by the banks but not stopped by them.