What is with switch statements needing to cater for all enum values?