### Godot version

4.0 beta 10

### System information

Windows 10

### Issue description

Godot crashes when i accidently name 2 items in an enum the same

EDIT:
The editor freeze for some seconds, then both editor- and console-window dissapear

### Steps to reproduce

Write

```gdscript
enum {
    A,
}
```

and then add a second line with another A:

```gdscript
enum {
    A,
    A # <- crash
}
```

Does not always immediatly happen if i copy&paste items.
Does not happen when i change the script in another editor and open the script in Godot.

### Minimal reproduction project

[enum.zip](https://github.com/godotengine/godot/files/10313759/enum.zip)

if (!cast_type.is_variant()) {
		GDScriptParser::DataType op_type = p_cast->operand->get_datatype();
		if (!op_type.is_variant()) {
			bool valid = false;
			bool more_informative_error = false;
			if (op_type.kind == GDScriptParser::DataType::ENUM && cast_type.kind == GDScriptParser::DataType::ENUM) {
				
				if (p_cast->operand->is_constant && p_cast->operand->reduced) {
					if (enum_get_value_name(cast_type, p_cast->operand->reduced_value) != StringName()) {
						valid = true;
					} else {
						valid = false;
						more_informative_error = true;
						push_error(vformat(R"(Invalid cast. Enum "%s" does not have value corresponding to "%s.%s" (%d).)",
										   cast_type.to_string(), op_type.enum_type,
										   enum_get_value_name(op_type, p_cast->operand->reduced_value), 
										   p_cast->operand->reduced_value.operator uint64_t()),
								p_cast->cast_type);
					}
				} else {
					
					mark_node_unsafe(p_cast);
					valid = true;
				}
			} else if (op_type.kind == GDScriptParser::DataType::BUILTIN && op_type.builtin_type == Variant::INT && cast_type.kind == GDScriptParser::DataType::ENUM) {
				
				if (p_cast->operand->is_constant && p_cast->operand->reduced) {
					if (enum_get_value_name(cast_type, p_cast->operand->reduced_value) != StringName()) {
						valid = true;
					} else {