How to create options in installation profile/ distribution to enable custom content types?
I would think in either case, you should provide the Content types as modules and allow the user to enable them any time after installation. Otherwise, how do you expect them to enable the content types if he chooses to skip them during install?

The way to provide additional options during a profile install is hook_install_tasks(), also check this blog.