varions Bool support and enable enum/keys in proxy object

diffenent c/c++ compiler makes bool in diffenent size. for example one of my c++11 project is 2 bytes length bool in gcc. so I added bool2、bool3、bool4 type.

and make proxied fields enumerable is very useful, why disable it?