use short evaluation only for non enums

if there is a [ScriptConstants]enum starting with 0 comparism for
"variable == enumvalue" was !enumvalue
if variable is object type in C# it leads to unexpected results (could
be false or empty string)
now it compiles down to variable === 0