Enumerate all allocations of points in a simplex
I'd suggest using a recursive search.  Suppose you have a subset of $k$ of the points and a proposed allocation for those $k$ points into X/Y/Z.  Then you can test whether there exists $w_x,w_y,w_z$ that would lead to that allocation, by testing feasibility of a linear program.  (For the allocation to be feasible, there are a bunch of linear inequalities that must hold on the variables $w_x,w_y,w_z$; test whether these can all simultaneously hold.)

Now, given a feasible allocation for $k$ points, pick one more point and try all three possibilities for whether that additional point is allocated to X, Y, or Z.  (In other words, you extend it to three possible allocations on $k+1$ points.)  Test which ones are feasible, and recurse on each of the feasible ones.

One can show that if there are $N$ feasible allocations in all, then this process will require at most $3mN$ recursive invocations.  Each recursive invocation involves solving a linear program, which can be done in polynomial time.  Thus, we obtain a procedure whose running time is polynomial in the number of feasible allocations.  The same result generalizes to more than three dimensions.