Seu amigo aqui é FIND_IN_SET, espero. Encontrei esse método pela primeira vez nesta pergunta:também abordado nesta pergunta MYSQL - Procedimento armazenado utilizando strings separadas por vírgulas como entrada variável
A documentação do MySQL para FIND_IN_SET está aqui http ://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set
Assim, seu procedimento se tornará
CREATE DEFINER=`root`@`localhost`
PROCEDURE `search_equipment`(
IN equip VARCHAR(100),
IN category VARCHAR(255)
)
BEGIN
SELECT *
FROM Equipment
WHERE e_description LIKE CONCAT("%",equip,"%")
AND FIND_IN_SET(e_type,category)
END
Isso depende da string de categoria ser uma lista delimitada por vírgulas e, portanto, seu código de chamada se torna
String type = "I.T. Equipment,Office Supply";
CALL search_equipment('some equipment', type);
(p.s. corrigido um erro de digitação, em seus argumentos você digitou categoy)