classDiagram class ElectricGridNode { category : str type } class ElectricGridTypeEnum { name } class EnergyTypeEnum { name } class GridNode { capacity_kw : float id : str owner_actor : str parent : Optional[str] } class HeatGridNode { category : str type } class HeatGridTypeEnum { name } ElectricGridNode --|> GridNode HeatGridNode --|> GridNode ElectricGridTypeEnum --* ElectricGridNode : type HeatGridTypeEnum --* HeatGridNode : type