def _fill_genotype_confidence(field_value, genotype_info_to_fill):
    """Parse the genotype quality (confidence) of this sample at this site and store in the VCFGenotypeInfo.

    Args:
        field_value (str): The value associated with the GQ tag in the format value string.
        genotype_info_to_fill (VCFGenotypeInfo): A partially filled VCFGenotypeInfo object.

    Returns:
        VCFGenotypeInfo: The input VCFGenotypeInfo with genotype_confidence filled in.

    From https://gatkforums.broadinstitute.org/gatk/discussion/1268/what-is-a-vcf-and-how-should-i-interpret-it :
    " GQ : Quality of the assigned genotype.
      The Genotype Quality represents the Phred-scaled confidence that the genotype assignment (GT) is correct, derived
      from the genotype PLs. Specifically, the GQ is the difference between the PL of the second most likely genotype,
      and the PL of the most likely genotype. As noted above, the values of the PLs are normalized so that the most
      likely PL is always 0, so the GQ ends up being equal to the second smallest PL, unless that PL is greater than 99.
      In GATK, the value of GQ is capped at 99 because larger values are not more informative, but they take more space
      in the file. So if the second most likely PL is greater than 99, we still assign a GQ of 99.

      Basically the GQ gives you the difference between the likelihoods of the two most likely genotypes. If it is low,
      you can tell there is not much confidence in the genotype, i.e. there was not enough evidence to confidently
      choose one genotype over another. See the FAQ article on the Phred scale to get a sense of what would be
      considered low.

      Not to be confused with the site-level annotation QUAL; see this FAQ article for an explanation of the differences
      in what they mean and how they should be used."
    """
    genotype_info_to_fill.genotype_confidence = field_value
    return genotype_info_to_fill
