I agree with others that the simple answer is to do it implicitly, I would take some time to consider the use cases and their frequency, as well as any required field interdependency.
For example, on a shipping/billing address form, the option to complete a different billing address is almost always explicit because it is the rare case.
If, on the other hand, it is common for the grouped optional fields to be used, making it implicit and leaving it to the user to fill them in or not is probably the better choice.
In addition to all of that, you should also consider the usage patterns that your users will have, and their workflow. Will your app be used by a small group of expert users who use it day in and day out, or by a larger group of more casual users, or something between those two extremes?
In my opinion, user interface design is rarely cut and dried. A lot of decisions are (or should be) situational.