def _find_all_groups(group_by, md_list):
    """
    Find all possible values for group_by

    :param group_by: name of the metadata to find values on
    :type group_by: str
    :param md_list: list of metadata to find into
    :type md_list: dict
    :return: the list of all unique possible values for this group
    :rtype: list
    """
    # List of all possible values encountered for the group by
    groups_iterators = []
    # Find groups list
    for ts in md_list:
        if group_by not in md_list[ts]:
            raise ValueError("Group by '%s' is not found at least for ts %s", group_by, ts)
        groups_iterators.append(md_list[ts][group_by])
    # Remove duplicates
    return list(set(groups_iterators))