core: restore switch over enum