Thanks to Clive and JW my timer is starting tick but I am getting interrupts from channels 2-4 and I am only using channel 1. I use the following command sequence so I don't know why CC2-4 are set in the SR.
TIM_ITConfig(TIM4, TIM_IT_CC2 | TIM_IT_CC3 | TIM_IT_CC4, DISABLE);
TIM_ITConfig(TIM4, TIM_IT_CC1 | TIM_IT_Update, ENABLE);
TIM_ClearITPendingBit(TIM4, TIM_IT_Update | TIM_IT_CC2 | TIM_IT_CC3 | TIM_IT_CC4);