Consider a utility which can be used in different modes, like:
utility.exe --mode x (one list of arguments expected)
utility.exe --mode y (different list of arguments expected)
How can i write code for parsing such arguments in Boost.Program_Options???