### Summary

Currently, `disable_lookups=True` is hard-coded, it would be nice if this could be overridden.

### Issue Type

Bug Report

### Component Name

inventory

### Ansible Version

```console
$ ansible --version
ansible [core 2.12.1]
  config file = /Users/mark/.ansible.cfg
  configured module search path = ['/Users/mark/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/mark/.ansible/collections/ansible_collections/community/digitalocean/venv/lib/python3.9/site-packages/ansible
  ansible collection location = /Users/mark/.ansible/collections:/usr/share/ansible/collections
  executable location = /Users/mark/.ansible/collections/ansible_collections/community/digitalocean/venv/bin/ansible
  python version = 3.9.9 (main, Dec  9 2021, 19:41:06) [Clang 13.0.0 (clang-1300.0.29.3)]
  jinja version = 3.0.3
  libyaml = True
```


### Configuration

```console
$ ansible-config dump --only-changed
DEFAULT_STDOUT_CALLBACK(/Users/mark/.ansible.cfg) = yaml
DIFF_ALWAYS(/Users/mark/.ansible.cfg) = True
INTERPRETER_PYTHON(/Users/mark/.ansible.cfg) = /Users/mark/.pyenv/shims/python3
```


### OS / Environment

MacOS 12.0.1

### Steps to Reproduce

There's nothing to reproduce, it's an observation.

### Expected Results

N/A

### Actual Results

```console
N/A
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
elif isinstance(key, Mapping):
                            for (gname, gval) in key.items():
                                bare_name = '%s%s%s' % (gname, sep, gval)
                                if gval == '':
                                    
                                    if default_value_name is not None:
                                        bare_name = '%s%s%s' % (gname, sep, default_value_name)
                                    elif trailing_separator is False:
                                        bare_name = gname
                                new_raw_group_names.append(bare_name)
                        else:
                            raise AnsibleParserError("Invalid group name format, expected a string or a list of them or dictionary, got: %s" % type(key))
                        for bare_name in new_raw_group_names:
                            if prefix == '' and self.get_option('leading_separator') is False:
                                sep = ''
                            gname = self._sanitize_group_name('%s%s%s' % (prefix, sep, bare_name))
                            result_gname = self.inventory.add_group(gname)
                            self.inventory.add_host(host, result_gname)
                            if raw_parent_name:
                                parent_name = self._sanitize_group_name(raw_parent_name)
                                self.inventory.add_group(parent_name)
                                self.inventory.add_child(parent_name, result_gname)
                    else:
                        
                        
                        if strict and key not in ([], {}):
                            raise AnsibleParserError("No key or key resulted empty for %s in host %s, invalid entry" % (keyed.get('key'), host))
                else:
                    raise AnsibleParserError("Invalid keyed group entry, it must be a dictionary: %s " % keyed)