Идеальным вариантом было бы использование GraphQL, поэтому вы выбираете только те поля данных, которые вам нужны, исходя из ваших критериев, в этом случае нет разницы между изменением функции getListOfNames для простого вывода лица, когда его person.gender соответствует вашим критериям или просто передавая ему отфильтрованный массив людей после извлечения их всех