You don't need multiple Case structures for every message if you'll wire ArbIDOrHeader directly to the Case structure you already have. Just add a new case for every message. Generally, it's silly to compare a value with a constant to decide which case to execute. Just wire directly into the structure.