Better TCO for case statements

@garyb