def METHOD_NAME(tb_share: Table) -> Table:
    # Select data for the last month of the year (which at least prior to 2016 seems to refer to yearly data).
    tb_share = tb_share[(tb_share["observed_month"].str[5:7] == "12")].reset_index(drop=True)
    # Add a year column.
    tb_share["year"] = tb_share["observed_month"].str[0:4].astype(int)
    # Some estimates come from USDA reports, whereas others are "computed".
    # For some years, there is data only from one of the two sources. And for some years, there is data from both.
    # The "computed" rows have data both for the percentage of hens and eggs, so we prioritize this over USDA reports.
    # In any case, the numbers from both sources are very similar.
    tb_share = (
        tb_share.sort_values(["year", "source"]).drop_duplicates(subset="year", keep="last").reset_index(drop=True)
    )
    # Select necessary columns and rename them.
    columns = {"year": "year", "percent_hens": "share_of_hens_cage_free", "percent_eggs": "share_of_eggs_cage_free"}
    tb_share = tb_share[list(columns)].rename(columns=columns, errors="raise")
    # Add a country column.
    tb_share["country"] = "United States"
    # Set an appropriate index and sort conveniently.
    tb_share = tb_share.set_index(["country", "year"], verify_integrity=True).sort_index()
    return tb_share