### 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
constexpr uint32_t operator[](int index) const {
				switch (index) {
#ifndef REAL_T_IS_DOUBLE
					case sizeof(uint32_t):
						return size_32_bits_real_float;
					case sizeof(uint64_t):
						return size_64_bits_real_float;
#else 
					case sizeof(uint32_t):
						return size_32_bits_real_double;
					case sizeof(uint64_t):
						return size_64_bits_real_double;
#endif
				}
				return -1;
			}
		} type_size_array[Variant::VARIANT_MAX + 1] = {
			{ Variant::NIL, 0, 0, 0, 0 },
			{ Variant::BOOL, sizeof(uint8_t), sizeof(uint8_t), sizeof(uint8_t), sizeof(uint8_t) },
			{ Variant::INT, sizeof(int64_t), sizeof(int64_t), sizeof(int64_t), sizeof(int64_t) },
			{ Variant::FLOAT, sizeof(double), sizeof(double), sizeof(double), sizeof(double) },
			{ Variant::STRING, ptrsize_32, ptrsize_64, ptrsize_32, ptrsize_64 },
			{ Variant::VECTOR2, 2 * sizeof(float), 2 * sizeof(float), 2 * sizeof(double), 2 * sizeof(double) },
			{ Variant::VECTOR2I, 2 * sizeof(int32_t), 2 * sizeof(int32_t), 2 * sizeof(int32_t), 2 * sizeof(int32_t) },
			{ Variant::RECT2, 4 * sizeof(float), 4 * sizeof(float), 4 * sizeof(double), 4 * sizeof(double) },
			{ Variant::RECT2I, 4 * sizeof(int32_t), 4 * sizeof(int32_t), 4 * sizeof(int32_t), 4 * sizeof(int32_t) },
			{ Variant::VECTOR3, vec3_elems * sizeof(float), vec3_elems * sizeof(float), vec3_elems * sizeof(double), vec3_elems * sizeof(double) },
			{ Variant::VECTOR3I, 3 * sizeof(int32_t), 3 * sizeof(int32_t), 3 * sizeof(int32_t), 3 * sizeof(int32_t) },
			{ Variant::TRANSFORM2D, 6 * sizeof(float), 6 * sizeof(float), 6 * sizeof(double), 6 * sizeof(double) },
			{ Variant::VECTOR4, 4 * sizeof(float), 4 * sizeof(float), 4 * sizeof(double), 4 * sizeof(double) },