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) casted to int
now it compiles down to variable === 0