Filter party-1 strings against party-2 white/black list keeping the lists private
I see two problems;


The number of keywords is very small and a dictionary attack is possible from the server. 

for i in English_Dictionary
    if Hash(i) == target_hash
       return success

Also, one can use Rainbow tables, too. To overcome these, you will need to add salt to your plaintext to prevent any dictionary or rainbow attacks from the server side.

There are more advanced methods for protection, as;


The search on encrypted data which is started with the Song et. al's
idea. 
There is another method, which may be too slow, use FHE
techniques. You can totally blind the server.
If the client asking whether this string is black or white, you can also use Private Information Retrieval (PIR) techniques. There is an FHE PIR implementation. 

Also, the frequency of the hit may leak information 1,2. The frequency attack really depends on the application. The method listed above, not the salt, can overcome the frequency attack, too.