Could you elaborate? Wouldn't it be better to i.e. throw a runtime error than to send an email with an empty subject to a user from a business perspective in most cases?
In this case I wouldn't call the command send the mail unless status was explicitly Accepted or Rejected.
But as notes above, the important part is that the compiler doesn't let me forget about all the possible cases (e.g. `Queue` in this example).