Java: C++11 strong enum and various fixes

Take into account strongly-typed values scope name
I'm not sure if I understood you correctly, but there's a case when "symname" is affected and later restored