You shouldn't need multiple category tables. One is enough and then define a hierarchy using another column.
Product attributes are dependent on the merchandise. If you going to expand them you don't want to keep adding tables for each attribute. So best to use 2 or 3 common tables for all attributes and their values.