The enum at least needs only track the view, so isn't too bad maintenance-wise.