don't create new enum functions for same argument and don't create new compute tokens for same enum and object