Here is what I'm looking to do: CapHub
This is is an extension to Capistrano, to support multiple sub-projects.
CapHub lets you create nested set of directories and configurations for the sub-projects or microservices in my case. With that I'm thinking of writing a custom SCM adapter with git sparse checkout as suggested by @lorefnon
Looks like that will address my requirement as of now. Hope I get that to work!