Personally I think it's a stupid limitation. I kind of hope it blows up and they revert the change. Apparently users were getting confused why they couldn't use "groups.group-name" instead of "groups['group-name']", so they banned groups with those types of characters so you can always do groups.group_name. Just don't call your group "get", "copy", "keys", "items", or a host of other special values...
Using "---" as an inventory_hostname is fine, though.