я в перечислении добавляю префикс по сокращению от имени типа typedef enum{
ES_SUCCESS = 0U,
ES_ERROR = !SUCCESS
} ErrorStatus;
typedef enum {
HS_SUCCESS = 0,
HS_FAIL = 1,
HS_BAD_HASHBITLEN = 2
} HashReturn;
Но использовать одновременно 2 типа не получится, можно добавить условную компиляцию,
#ifndef ErrorStatus;
typedef enum { SUCCESS = 0, FAIL = 1, BAD_HASHBITLEN = 2 } HashReturn;
#else
typedef enum { FAIL = 1, BAD_HASHBITLEN = 2 } HashReturn;
#endif