from enum import Enum


class EventTypeIdentifier(str, Enum):
    ACCELERATION = "acceleration"
    BALL_CONTACT = "ball_contact"
    BALL_POSSESSION = "ball_possession"
    BALL_POSSESSION_LOST = "ball_possession_lost"
    BALL_POSSESSION_RECOVERY = "ball_possession_recovery"
    CHANGE_OF_DIRECTION = "change_of_direction"
    CHANGE_OF_ORIENTATION = "change_of_orientation"
    CHANGE_OF_PACE = "change_of_pace"
    CORNER_KICK = "corner_kick"
    COUNTER_ATTACK = "counter_attack"
    CUT = "cut"
    CV_SHOT = "cv_shot"
    DECELERATION = "deceleration"
    DEFENCE = "defence"
    DETECTED_CROSS = "detected_cross"
    DETECTED_OFFSIDE_SOCCER = "detected_offside_soccer"
    DETECTED_PASS = "detected_pass"
    DETECTED_SHOT_BASKETBALL = "detected_shot_basketball"
    DETECTED_SHOT_FIFA = "detected_shot_fifa"
    DETECTED_SHOT_HANDBALL = "detected_shot_handball"
    DETECTED_SHOT_ICE_HOCKEY = "detected_shot_ice_hockey"
    DETECTED_SHOT_INTELLIGENCE_COURT = "detected_shot_intelligence_court"
    DETECTED_SHOT_SOCCER = "detected_shot_soccer"
    DFL_CORNER_KICK = "dfl_corner_kick"
    DFL_CROSS = "dfl_cross"
    DFL_FREE_KICK = "dfl_free_kick"
    DFL_GOAL_KICK = "dfl_goal_kick"
    DFL_KICK_OFF = "dfl_kick_off"
    DFL_PASS = "dfl_pass"
    DFL_PENALTY = "dfl_penalty"
    DFL_SHOT_AT_GOAL = "dfl_shot_at_goal"
    DFL_SPRINT = "dfl_sprint"
    DFL_TACKLING = "dfl_tackling"
    DFL_THROW_IN = "dfl_throw_in"
    DOWN_ON_PADS = "down_on_pads"
    DRIBBLING_SOCCER = "dribbling_soccer"
    DYNAMIC_DEFENCE = "dynamic_defence"
    EXERTION = "exertion"
    FULL_COURT_TRANSITION = "full_court_transition"
    GOALKEEPER_SAVE_DIVING = "goalkeeper_save_diving"
    GOALKEEPER_SAVE_DOWN_TO_KNEES = "goalkeeper_save_down_to_knees"
    GOALKEEPER_SAVE_TILTING = "goalkeeper_save_tilting"
    GOAL_KICK = "goal_kick"
    GROUP_COUNTER_PRESSING = "group_counter_pressing"
    GROUP_EMPTY_GOAL_HANDBALL = "group_empty_goal_handball"
    HEART_RATE_RECOVERY = "heart_rate_recovery"
    IMPACT = "impact"
    JUMP = "jump"
    JUMP_BEACH_VOLLEYBALL = "jump_beach_volleyball"
    MID_COURT_TRANSITION = "mid_court_transition"
    NOAH_SHOT = "noah_shot"
    OFFENCE = "offence"
    PASS_FIFA = "pass_fifa"
    PICK_AND_POP = "pick_and_pop"
    PICK_AND_ROLL = "pick_and_roll"
    PIVOT_ROTATION = "pivot_rotation"
    PLAYER_COUNTER_PRESSING = "player_counter_pressing"
    PLAY_BY_PLAYER = "play_by_player"
    PLAY_BY_TEAM = "play_by_team"
    RALLY_BEACH_VOLLEYBALL = "rally_beach_volleyball"
    RSPCT_SHOT = "rspct_shot"
    SHIFT = "shift"
    SKATING_TRANSITION = "skating_transition"
    SPEED_ZONE_ENTRY = "speed_zone_entry"
    SPEED_ZONE_ENTRY_RELATIVE = "speed_zone_entry_relative"
    SPRINT = "sprint"
    TAG = "tag"
    TEMPO_RUN = "tempo_run"
    THROW_IN = "throw_in"
    TURN_ICE_HOCKEY = "turn_ice_hockey"

    def __str__(self) -> str:
        return str(self.value)
