How can I change the items of an EnumProperty dynamically through draw?
Use EnumProperty callback:
Property Definitions (bpy.props) — Blender Python API
Basically blender will call the function in following way:
list_tuple_callback(scene, context)

The return of your function should look similar with the original item List[(identifier, name, description, icon, number), ...].