def enum_value_to_id_othertext(enum_df,value):
    """Given an enumeration dframe,
        along with a plain language value for that enumeration
        (e.g., 'general'), return the (<id>,<othertext>) pair."""
    # ensure Id is in the index of enum_df (otherwise df index will be lost in merge)
    if 'Id' in enum_df.columns:
        enum_df = enum_df.set_index('Id')

    if value in enum_df.Txt.to_list():
        idx = enum_df[enum_df.Txt == value].first_valid_index()
        other_txt = ''
    else:
        idx = enum_df[enum_df.Txt == 'other'].first_valid_index()
        other_txt = value
    return idx,other_txt