### Godot version

3b086aa06

### System information

ArchLinux x11

### Issue description

```gdscript
extends Node

@export_group("My Properties")
@export var number = 3
@export var string = ""

@export_group("Prefixed Properties", "prefix_")
@export var prefix_number = 3
@export var prefix_string = ""

@export_group("", "")
@export var ungrouped_number = 3
```

![image](https://user-images.githubusercontent.com/70787919/214983963-528c415b-745b-47fc-9777-36ebe31a3060.png)


### Steps to reproduce

- create script
- @export_group
- go inspector

### Minimal reproduction project

‮
break;
				}
				decided_style = true;
			}
			switch (dictionary->style) {
				case DictionaryNode::LUA_TABLE:
					if (key != nullptr && key->type != Node::IDENTIFIER && key->type != Node::LITERAL) {
						push_error("Expected identifier or string as LUA-style dictionary key.");
						advance();
						break;
					}
					if (key != nullptr && key->type == Node::LITERAL && static_cast<LiteralNode *>(key)->value.get_type() != Variant::STRING) {
						push_error("Expected identifier or string as LUA-style dictionary key.");
						advance();
						break;
					}
					if (!match(GDScriptTokenizer::Token::EQUAL)) {
						if (match(GDScriptTokenizer::Token::COLON)) {
							push_error(R"(Expected "=" after dictionary key. Mixing dictionary styles is not allowed.)");
							advance(); 
						} else {
							push_error(R"(Expected "=" after dictionary key.)");
						}
					}
					if (key != nullptr) {
						key->is_constant = true;
						if (key->type == Node::IDENTIFIER) {
							key->reduced_value = static_cast<IdentifierNode *>(key)->name;
						} else if (key->type == Node::LITERAL) {
							key->reduced_value = StringName(static_cast<LiteralNode *>(key)->value.operator String());