<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def select_candidates(config):
 """Select candidates to download. Parameters config: NgdConfig Runtime configuration object Returns ------- list of (<candidate entry>, <taxonomic group>) """

    download_candidates = []

    for group in config.group:
        summary_file = get_summary(config.section, group, config.uri, config.use_cache)
        entries = parse_summary(summary_file)

        for entry in filter_entries(entries, config):
            download_candidates.append((entry, group))

    return download_candidates