Engines get name/desc from enum not switch
Added comments to enum in Engine
Changed Resource to interface