How to properly structure multiple user types?
You could turn around the foreign key relationships and add three foreign keys to user, one for each of customer, brand and brand_employee. Then add a CHECK constraint that makes sure that exactly one of the foreign keys is NOT NULL:
CREATE TABLE users (
   id                uuid PRIMARY KEY,
   ...
   customer_id       uuid REFERENCES customer(id),
   brand_id          uuid REFERENCES brand(id),
   brand_employee_id uuid REFERENCES brand_employee(id),
   CHECK (customer_id IS NOT NULL AND brand_id IS     NULL AND brand_employee_id IS     NULL OR
          customer_id IS     NULL AND brand_id IS NOT NULL AND brand_employee_id IS     NULL OR
          customer_id IS     NULL AND brand_id IS     NULL AND brand_employee_id IS NOT NULL)
);