Mew controls guess rules by two variables, `mew-refile-guess-control' and `mew-refile-ctrl-multi'. If you want multiple candidates, set `mew-refile-ctrl-multi' `t'. Otherwise, set it `nil'.
By default, `mew-refile-guess-control' is declared as follows(since it is a declaration, `defvar' is used):
(defvar mew-refile-guess-control '(mew-refile-guess-by-alist mew-refile-ctrl-throw mew-refile-guess-by-newsgroups mew-refile-guess-by-folder mew-refile-ctrl-throw mew-refile-ctrl-auto-boundary mew-refile-guess-by-thread mew-refile-ctrl-throw mew-refile-guess-by-from-folder mew-refile-ctrl-throw mew-refile-guess-by-from mew-refile-ctrl-throw mew-refile-guess-by-default))
Mew executes every function defined in `mew-refile-guess-control' in order. Each function may guess multiple candidates.
Let's see the following example of `mew-refile-guess-control' action.
If you want to provide all candidates, +aaa - +eee, set `mew-refile-ctrl-multi' `t'. If you want to provide +aaa only, set it `nil'.
If you want +aaa - +ddd but don't want left candidates, in other words, you want +eee only when no candidate is guessed by functions executed before, set `mew-refile-ctrl-multi' `t' and insert `mew-refile-ctrl-throw' between `mew-refile-guess-by-folder' and `mew-refile-guess-by-default'.
`C-uo' displays the flow of guess rules in Message buffer.