Added feature to optionally check swtich exhaustiveness when using enums