def _fill_genotype_class(alleles, genotype_info_to_fill):
    """Id genotype class (homozygous/heterozygous) and subclass (reference, alt, compound) and store in VCFGenotypeInfo.

    Args:
        alleles (List[str]): Results of splitting the value for the GT (genotype) format tag.
        genotype_info_to_fill (VCFGenotypeInfo): A partially filled VCFGenotypeInfo object.

    Returns:
        VCFGenotypeInfo: The input VCFGenotypeInfo with genotype_subclass_by_class value set.

    """
    genotype_class = 'homozygous'
    genotype_subclass = 'reference'
    alt_subclass_name = 'alt'
    if alleles[0] != alleles[1]:
        genotype_class = 'heterozygous'
        alt_subclass_name = 'compound'
    if '0' not in alleles:
        genotype_subclass = alt_subclass_name
    result = {genotype_class: genotype_subclass}
    genotype_info_to_fill.genotype_subclass_by_class = result
    return result
