C# Switch Statements: Best Practices and Tips