### 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
updates[name] = []
            updates[name].append({'version': version, 'dist': dist, 'repo': repo})
            if len(line) == 6:
                obsolete_pkg, obsolete_version, obsolete_repo = line[3], line[4], line[5]
                obsolete_name, obsolete_dist = obsolete_pkg.rsplit('.', 1)
                if obsolete_name not in obsoletes:
                    obsoletes[obsolete_name] = []
                obsoletes[obsolete_name].append({'version': obsolete_version, 'dist': obsolete_dist, 'repo': obsolete_repo})
        return updates, obsoletes
    def latest(self, items, repoq):
        res = {}
        res['results'] = []
        res['msg'] = ''
        res['changed'] = False
        res['rc'] = 0
        pkgs = {}
        pkgs['update'] = []
        pkgs['install'] = []
        updates = {}
        obsoletes = {}
        update_all = False
        cmd = None
        
        if '*' in items:
            update_all = True
        rc, out, err = self.run_check_update()
        if rc == 0 and update_all:
            res['results'].append('Nothing to do here, all packages are up to date')
            return res
        elif rc == 100: