### Summary

When trying to list a package with wildcard using the yum module for RHEL 7 managed node, yum is returning incorrect results. Even if the package is installed on the RHEL7 managed node, yum returns only `"yumstate": "available"` and not   `"yumstate": "installed"`.

The same scenario works as expected on RHEL 8 nodes with a wildcard.


### Issue Type

Bug Report

### Component Name

yum

### Ansible Version

```console
$ ansible --version
ansible 2.9.15
  config file = /root/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.6/site-packages/ansible
  executable location = /bin/ansible
  python version = 3.6.8 (default, Aug 18 2020, 08:33:21) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]
```


### Configuration

```console
$ ansible-config dump --only-changed
DEFAULT_HOST_LIST(/root/ansible.cfg) = ['/root/.inventory']
```


### OS / Environment

- RHEL 8 
- RHEL 7

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->

- If we use a wildcard on a package for RHEL 7 managed node, and if the package we are listing via yum is already installed on RHEL 7, the yum still does not return `"yumstate": "installed"`. It only returns the `"yumstate": "available"`

```
root@ip ~]# ansible rhel7 -i inventory -m yum -a "list=device-mapper*" > s.out
[root@ip ~]# cat s.out | grep installed
````

- If we use the same ansible adhoc command for RHEL 8 host, we get the correct expected result and it returns ``"yumstate": "installed"``

```
[root@ip ~]# ansible rhel8 -i inventory -m yum -a "list=device-mapper*" > s.out
[root@ip ~]# cat s.out | grep installed
            "yumstate": "installed"
            "yumstate": "installed"
```
- Without using a wildcard to the package, everything works as expected on RHEL 7 as well as on RHEL 8.

```
[root@ip~]# ansible rhel7 -i inventory -m yum -a "list=device-mapper" > s.out
[root@ip~]# cat s.out | grep installed
            "repo": "installed",
            "yumstate": "installed"
```

### Expected Results

When running the command mentioned in Steps to Reproduce on RHEL 7, it should return the `"yumstate": "installed"` along with `"yumstate": "available"`

### Actual Results

```console
yum module is not returning the `"yumstate": "installed"` even if the package is already installed on RHEL 7 managed node.
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
choices: [ auto, yum, yum4, dnf ]
    type: str
    version_added: "2.7"
  name:
    description:
      - A package name or package specifier with version, like C(name-1.0).
      - Comparison operators for package version are valid here C(>), C(<), C(>=), C(<=). Example - C(name>=1.0)
      - If a previous version is specified, the task also needs to turn C(allow_downgrade) on.
        See the C(allow_downgrade) documentation for caveats with downgrading packages.
      - When using state=latest, this can be C('*') which means run C(yum -y update).
      - You can also pass a url or a local path to a rpm file (using state=present).
        To operate on several packages this can accept a comma separated string of packages or (as of 2.0) a list of packages.
    aliases: [ pkg ]
    type: list
    elements: str
  exclude:
    description:
      - Package name(s) to exclude when state=present, or latest
    type: list
    elements: str
    version_added: "2.0"
  list:
    description:
      - "Package name to run the equivalent of yum list --show-duplicates <package> against. In addition to listing packages,
        use can also list the following: C(installed), C(updates), C(available) and C(repos)."
      - This parameter is mutually exclusive with C(name).
    type: str
  state:
    description:
      - Whether to install (C(present) or C(installed), C(latest)), or remove (C(absent) or C(removed)) a package.