### Godot version

4.0beta12

### System information

all

### Issue description

In `extension_api.json` we have some function that uses parameter typed after a global enum and display it as a bitfield:
```js
{
	"name": "set_button_mask",
	"is_const": false,
	"is_vararg": false,
	"is_static": false,
	"is_virtual": false,
	"hash": 3950145251,
	"arguments": [
		{
			"name": "mask",
			"type": "bitfield::MouseButtonMask" // bitfield prefix here !
		}
	]
},
```

However the global enum's own definition doesn't mention it is a bitfield:
```js
{
	"name": "MouseButtonMask",
	// No "bitfield" field here !
	"values": [
		{
			"name": "MOUSE_BUTTON_MASK_LEFT",
			"value": 1
		},
		{
			"name": "MOUSE_BUTTON_MASK_RIGHT",
			"value": 2
		},
		{
			"name": "MOUSE_BUTTON_MASK_MIDDLE",
			"value": 4
		},
		{
			"name": "MOUSE_BUTTON_MASK_MB_XBUTTON1",
			"value": 128
		},
		{
			"name": "MOUSE_BUTTON_MASK_MB_XBUTTON2",
			"value": 256
		}
	]
},
```

On the other hand, the non-global enums (i.e. the ones defined as part of a class) have this `is_bitfield` field.
So I guess we should add it to global enum too.

### Steps to reproduce

n/a

### Minimal reproduction project

n/a
REAL_BASED_BUILTIN_MEMBER_OFFSET(Variant::BASIS, "x", "Vector3", vec3_elems),
			REAL_BASED_BUILTIN_MEMBER_OFFSET(Variant::BASIS, "y", "Vector3", vec3_elems),
			REAL_BASED_BUILTIN_MEMBER_OFFSET(Variant::BASIS, "z", "Vector3", vec3_elems),
			
			REAL_BASED_BUILTIN_MEMBER_OFFSET(Variant::TRANSFORM3D, "basis", "Basis", vec3_elems * 3),
			REAL_BASED_BUILTIN_MEMBER_OFFSET(Variant::TRANSFORM3D, "origin", "Vector3", vec3_elems),
			
			REAL_BASED_BUILTIN_MEMBER_OFFSET(Variant::PROJECTION, "x", "Vector4", vec4_elems),
			REAL_BASED_BUILTIN_MEMBER_OFFSET(Variant::PROJECTION, "y", "Vector4", vec4_elems),
			REAL_BASED_BUILTIN_MEMBER_OFFSET(Variant::PROJECTION, "z", "Vector4", vec4_elems),
			REAL_BASED_BUILTIN_MEMBER_OFFSET(Variant::PROJECTION, "w", "Vector4", vec4_elems),
			
			{ Variant::COLOR, "r", "float", sizeof(float), "float", sizeof(float), "float", sizeof(float), "float", sizeof(float) },
			{ Variant::COLOR, "g", "float", sizeof(float), "float", sizeof(float), "float", sizeof(float), "float", sizeof(float) },
			{ Variant::COLOR, "b", "float", sizeof(float), "float", sizeof(float), "float", sizeof(float), "float", sizeof(float) },
			{ Variant::COLOR, "a", "float", sizeof(float), "float", sizeof(float), "float", sizeof(float), "float", sizeof(float) },
			
			{ Variant::NIL, nullptr, nullptr, 0, nullptr, 0, nullptr, 0, nullptr, 0 },
		};
		Array core_type_member_offsets;
		for (int i = 0; i < 4; i++) {
			Dictionary d;
			d["build_configuration"] = build_config_name[i];
			Array type_offsets;
			uint32_t idx = 0;
			Variant::Type previous_type = Variant::NIL;
			Dictionary d2;
			Array members;
			uint32_t offset = 0;