Fix T76276
This diff changes the behavior of using a very long series of string comparisons to check variable names and take action.
Originally, the code used a lot of if/else clauses, leading to the error in T76276 which blocked MSBuild due to exceeding 128 nested if/else statements.
The short-term fix was to convert them all to if statements, but that has a performance impact as every if is now checked for every variable that is tested. This diff creates an enumeration that allows the main code to use a switch() block, making it faster and removing any need for nesting if/elses in the future.
This is my first code submission, and I am open to adjusting/tweaking names as suggested by more senior folks.